// 个人信息页-图表通用方法
export const dataTableMethods = {
  methods: {
    // px 单位换算
    fontSize(size, defalteWidth = 414) {
      let clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
      if (!clientWidth) return size;
      let scale = (clientWidth / defalteWidth);
      return Number((size * scale).toFixed(3));
    },
    changePosition() {
      return function(point, params, dom, rect, size) {
        let clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
        let positionSize = !clientWidth ? 10 : Number((10 * clientWidth / 414).toFixed(3)); // 为防止闭包内存泄漏，直接简化了 fontSize 函数，10为传入的 size 单位

        // 提示框位置
        let x = 0;
        let y = 0;
        // 当前鼠标位置
        let pointX = point[0];
        let pointY = point[1];
        // 提示框大小
        let boxWidth = size.contentSize[0];
        let boxHeight = size.contentSize[1];
        // 根据鼠标位置，调整弹窗位置，解决边缘弹窗遮挡问题
        boxWidth > pointX ? x = pointX + positionSize : x = pointX - boxWidth - positionSize;
        boxHeight > pointY ? y = pointY + positionSize : y = pointY - boxHeight - positionSize;
        return [x, y];
      }
    },
  }
}